package com.rongzhe.house.internet.net;

import com.rongzhe.house.entity.AppointmentTo;
import com.rongzhe.house.entity.AuthenticationInfoTo;
import com.rongzhe.house.entity.LoginDataTo;
import com.rongzhe.house.entity.ResponseEntityVo;
import com.rongzhe.house.entity.voo.AppoiintmentInfo;
import com.rongzhe.house.entity.voo.User;
import com.rongzhe.house.entity.voo.UserAuthInfo;
import com.rongzhe.house.internet.InternetRequestWorker;

import java.util.List;
import java.util.Map;

import okhttp3.MultipartBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;

/**
 * Created by huang on 2017/11/22.
 */

public interface UserInterface {
    @Headers(InternetRequestWorker.MARK_AS_NO_LOGIN_REQUEST)
    @POST("user/login")
    Call<ResponseEntityVo<String>> doLogin(@Body LoginDataTo data);
    @Headers(InternetRequestWorker.MARK_AS_NO_LOGIN_REQUEST)
    @POST("user/sendVercode")
    Call<ResponseEntityVo<Object>> sendVerCode(@Body Map<String, String> mobile);
    @Multipart
    @POST("user/uploadHeadImg")
    Call<ResponseEntityVo<String>> uploadHeadImg(@Part MultipartBody.Part file);
    @GET("user/getUserInfo")
    Call<ResponseEntityVo<User>> getUserInfo();
    @POST("user/identifyCard")
    Call<ResponseEntityVo<Object>> uploadAuthentication(@Body AuthenticationInfoTo authInfo);
    @GET("user/identifyCard/get")
    Call<ResponseEntityVo<UserAuthInfo>> getUserAuthntication();
    @POST("user/houseAppointment")
    Call<ResponseEntityVo<Object>> doHouseAppointment(@Body AppointmentTo appointmentTo);
    @GET("user/houseAppointment/list")
    Call<ResponseEntityVo<List<AppoiintmentInfo>>> getUserAppointment();
}
